home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 February: Tool Chest / Dev.CD Feb 94.toast / Tool Chest / Development Platforms / AppsToGo / AppsToGo.src / DTS.Lib / DTS.Lib.headers / DTS.Lib.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-06-18  |  10.7 KB  |  375 lines  |  [TEXT/MPS ]

  1. #ifndef __DTSLib__
  2. #define __DTSLib__
  3.  
  4. #ifndef __TYPES__
  5. #include <Types.h>
  6. #endif
  7.  
  8. #ifndef __APPLEEVENTS__
  9. #include <AppleEvents.h>
  10. #endif
  11.  
  12. #ifndef __FILES__
  13. #include <Files.h>
  14. #endif
  15.  
  16. #ifndef __MOVIES__
  17. #include <Movies.h>
  18. #endif
  19.  
  20. #ifndef __PRINTING__
  21. #include <Printing.h>
  22. #endif
  23.  
  24. #ifndef __TREEOBJ__
  25. #include "TreeObj.h"
  26. #endif
  27.  
  28. #ifndef __UTILITIES__
  29. #include "Utilities.h"
  30. #endif
  31.  
  32. #ifndef __WINDOWS__
  33. #include <Windows.h>
  34. #endif
  35.  
  36. /********/
  37.  
  38. typedef void        (*CalcFrameRgnProcPtr)(FileRecHndl frHndl, WindowPtr window, RgnHandle rgn);
  39. typedef void        (*ContentClickProcPtr)(WindowPtr window, EventRecord *event, Boolean firstClick);
  40. typedef Boolean        (*ContentKeyProcPtr)(WindowPtr window, EventRecord *event, Boolean *passThrough);
  41. typedef void        (*DrawFrameProcPtr)(FileRecHndl frHndl, WindowPtr window, Boolean activate);
  42. typedef OSErr        (*FreeDocumentProcPtr)(FileRecHndl frHndl);
  43. typedef OSErr        (*FreeWindowProcPtr)(FileRecHndl frHndl, WindowPtr window);
  44. typedef OSErr        (*ImageProcPtr)(FileRecHndl frHndl);
  45. typedef OSErr        (*InitContentProcPtr)(FileRecHndl frHndl, WindowPtr window);
  46. typedef OSErr        (*ReadDocumentProcPtr)(FileRecHndl frHndl);
  47. typedef OSErr        (*ReadDocumentHeaderProcPtr)(FileRecHndl frHndl);
  48. typedef void        (*ResizeContentProcPtr)(WindowPtr window, short oldh, short oldv);
  49. typedef void        (*ScrollFrameProcPtr)(FileRecHndl frHndl, WindowPtr window, long dh, long dv);
  50. typedef void        (*UndoFixupProcPtr)(FileRecHndl frHndl, Point contOrg, Boolean afterUndo);
  51. typedef Boolean        (*WindowCursorProcPtr)(FileRecHndl frHndl, WindowPtr window, Point globalPt);
  52. typedef OSErr        (*WriteDocumentProcPtr)(FileRecHndl frHndl);
  53. typedef OSErr        (*WriteDocumentHeaderProcPtr)(FileRecHndl frHndl);
  54. typedef Boolean        (*AdjustMenuItemsProcPtr)(WindowPtr window, short menuID);
  55. typedef Boolean        (*DoMenuItemProcPtr)(WindowPtr window, short menuID, short menuItem);
  56.  
  57. typedef long        (*DocScrollBarProc)(FileRecHndl frHndl, ControlHandle ctl, short message, long val);
  58. #define kscrollHAdjust        0
  59. #define kscrollVAdjust        1
  60. #define kscrollGetHOrigin     2
  61. #define kscrollGetVOrigin     3
  62. #define kscrollGetHLongOrigin 4
  63. #define kscrollGetVLongOrigin 5
  64.  
  65.  
  66. typedef struct {
  67.     OSType                        sfType;
  68.     Boolean                        defaultDoc;
  69.     Movie                        movie;
  70.     short                        movieResID;
  71.     short                        movieFlags;
  72.     Boolean                        movieDataRefWasChanged;
  73.     Boolean                        docDirty;
  74.     long                        modNum;
  75.     long                        modTick;
  76.     Boolean                        readOnly;
  77.     short                        refNum;
  78.     short                        resRefNum;
  79.     FSSpec                        fss;
  80.     short                        windowID;
  81.     WindowPtr                    window;
  82.     PositionWndProcPtr            getDocWindow;
  83.     CalcFrameRgnProcPtr            calcFrameRgnProc;
  84.     ContentClickProcPtr            contentClickProc;
  85.     ContentKeyProcPtr            contentKeyProc;
  86.     DrawFrameProcPtr            drawFrameProc;
  87.     FreeDocumentProcPtr            freeDocumentProc;
  88.     FreeWindowProcPtr            freeWindowProc;
  89.     ImageProcPtr                imageProc;
  90.     InitContentProcPtr            initContentProc;
  91.     ReadDocumentProcPtr            readDocumentProc;
  92.     ReadDocumentHeaderProcPtr    readDocumentHeaderProc;
  93.     ResizeContentProcPtr        resizeContentProc;
  94.     ScrollFrameProcPtr            scrollFrameProc;
  95.     UndoFixupProcPtr            undoFixupProc;
  96.     WindowCursorProcPtr            windowCursorProc;
  97.     WriteDocumentProcPtr        writeDocumentProc;
  98.     WriteDocumentHeaderProcPtr    writeDocumentHeaderProc;
  99.     AdjustMenuItemsProcPtr        adjustMenuItemsProc;
  100.     DoMenuItemProcPtr            doMenuItemProc;
  101.     long                        attributes;            /* Here down is window content information. */
  102.     Rect                        windowSizeBounds;
  103.     ControlHandle                hScroll;
  104.     ControlHandle                vScroll;
  105.     short                        hScrollIndent;
  106.     short                        vScrollIndent;
  107.     short                        leftSidebar;
  108.     short                        topSidebar;
  109.     short                        hArrowVal;
  110.     short                        vArrowVal;
  111.     short                        hPageVal;
  112.     short                        vPageVal;
  113. } FileStateRec;
  114.  
  115. typedef struct {
  116.     long            windowTag[2];        /* Used to match up windows.                    */
  117.     short            endSendInfo;        /* Above is send info.                            */
  118.  
  119.     Boolean            connected;            /* Flag showing we are connected.                */
  120.     AEAddressDesc    remoteLoc;            /* AppleEvents address of remote user.            */
  121.     Str32            remoteName;            /* Name of user connected to.                    */
  122.     Str32            remoteZone;            /* Zone of user connected to.                    */
  123.     Str32            remoteMachine;        /* Machine name of user connected to.            */
  124.     short            endLocalInfo;        /* Above info is for one machine only.            */
  125. } ConnectRec;
  126.  
  127. typedef struct {
  128.     short        version;            /* The file format version.                    */
  129.     Boolean        printRecValid;        /* True if prRec has been created.            */
  130.     TPrint        print;                /* Print record for file.                    */
  131.     Rect        structureRect;        /* Remember where window was when saved.    */
  132.     Rect        contentRect;        /* Remember where window was when saved.    */
  133.     Rect        stdState;            /* This and below rect used for saving        */
  134.     Rect        userState;            /* zoom information for window.                */
  135.     long        hDocSize;            /* hDocSize and vDocSize have to be saved    */
  136.     long        vDocSize;            /* with the document, or recalculated        */
  137.                                     /* when the file is opened so that the        */
  138.                                     /* window can be created the correct size.    */
  139.     short        endDocHeaderInfo;    /* End version, print, and window info.        */
  140. } DocHeaderInfo;
  141.  
  142. struct AEHandler{
  143.     AEEventClass    theEventClass;
  144.     AEEventID        theEventID;
  145.     ProcPtr            theHandler;
  146. };
  147. typedef struct AEHandler AEHandler;
  148.  
  149. typedef struct {
  150.     OSType    sfType;
  151.     char    sfTypeTerm;            /* 0-byte which terminates sfType, thus making it a c-str. */
  152.     short    windowID;
  153.     long    attributes;
  154.     Boolean    fileBasedDoc;        /* True if document can be opened/saved. */
  155.     Boolean    openAsDefault;        /* True if new document should be created as default document. */
  156.     Boolean    openAtStartup;        /* True if new document should always be created at startup. */
  157.     short    hScrollIndent;
  158.     short    vScrollIndent;
  159.     short    leftSidebar;
  160.     short    topSidebar;
  161.     char    title[2];            /* title[0] = enumerated window title */
  162.                                 /* title[1] = references and offsets to other WFMTObj definitions */
  163.                                 /* A WFMTObj can reference other for inclusion into the window 
  164.                                 ** content.  The format is TYPE,xoffset,yoffset,TYPE,xoffset,yoffset.
  165.                                 ** A WFMTObj can reference as many other WFMTObj's as will fit into
  166.                                 ** a max pascal string.  If this isn't enough (hard to imagine),
  167.                                 ** then a WFMTObj can act as a container for other WFMTObj's.  They
  168.                                 ** can be nested as many deep as you want. */
  169. } WFMTObj;
  170. #define mDerefWFMT(hndl) ((WFMTObj*)((*hndl) + 1))
  171.  
  172. typedef struct {
  173.     short    numRows;
  174.     short    numCols;
  175.     short    cellHeight;
  176.     short    cellWidth;
  177.     short    mode;
  178. } CLNewInfo;
  179. typedef struct {
  180.     Rect    destRct;
  181.     Rect    viewRct;
  182.     Rect    brdrRct;
  183.     short    maxTextLen;
  184.     short    mode;
  185. } CTENewInfo;
  186. typedef struct {
  187.     Boolean            selected;
  188.     Rect            rect;
  189.     char            visible;
  190.     char            hilite;
  191.     short            value, min, max;
  192.     unsigned short    procID;
  193.     long            refCon;
  194.     unsigned short    ctlID;
  195.     short            cctbID;
  196.     short            fontSize;
  197.     Style            fontStyle;
  198.     union {
  199.         CLNewInfo    clnew;
  200.         CTENewInfo    ctenew;
  201.     } extCtl;
  202.     unsigned char    title[4];        /* 4 pascal strings are stored back-to-back starting here. */
  203.                                     /* title[0] = control title */
  204.                                     /* title[1] = key equivs    */
  205.                                     /* title[2] = control font  */
  206.                                     /* title[3] = balloon help info */
  207.     short            textLen[2];        /* 2 short-prefixed data blocks stored starting here.
  208.                                     ** textLen[0] = textEdit control text block
  209.                                     ** textLen[1] = textEdit control style block */
  210. } CtlObj;
  211. #define mDerefCtl(hndl) ((CtlObj*)((*hndl) + 1))
  212.  
  213. typedef struct {
  214.     TreeObjHndl        ctlObj;
  215.     ControlHandle    ctl;
  216. } CObjCtl;
  217. typedef CObjCtl CObjCtlAry[];
  218. typedef CObjCtlAry *CObjCtlPtr, **CObjCtlHndl;
  219.  
  220. /********/
  221.  
  222. #define mDerefWStateData(window) (*(WStateDataHandle)(((WindowPeek)window)->dataHandle))
  223.  
  224. #define kwGrowIcon            0x00000001L
  225. #define kwHScroll            0x00000002L
  226. #define kwHScrollLessGrow    0x00000006L
  227. #define kwVScroll            0x00000008L
  228. #define kwVScrollLessGrow    0x00000018L
  229. #define kwVisible            0x00000020L
  230. #define kwOpenAtOldLoc        0x00000040L
  231. #define kwDoFirstClick        0x00000080L
  232. #define kwHideOnClose        0x00000100L
  233. #define kwIsDocument        0
  234. #define kwIsPalette            0x00000200L
  235. #define kwIsModalDialog        0x00000400L
  236. #define kwDefaultDocHeader    0x00000800L
  237. #define kwHeaderIsResource    0x00001000L
  238. #define kwRuntimeOnlyDoc    0x00002000L
  239. #define kwAutoNew            0x00004000L
  240. #define kwDefaultDocType    0x00008000L
  241. #define kwColorMonitor        0x00010000L
  242. #define kwSecondaryMonitor    0x00020000L
  243. #define kwStaggerWindow        0x00040000L
  244. #define kwCenterWindow        0x00080000L
  245. #define kwSameMonitor        0x00100000L
  246.  
  247. #define kwNoChange            -32767
  248. #define kwBotScroll            32767
  249.  
  250. #define kwShowAll            0x01
  251. #define kwHideAll            0x03
  252. #define kwStandardVis        0x00
  253. #define kwInvertVis            0x02
  254. #define kwInvalOnHide        0x04
  255.  
  256. #define kMinWindowWidth  200
  257. #define kMinWindowHeight 200
  258. #define kMaxWindowWidth  16384
  259. #define kMaxWindowHeight 16384
  260.  
  261. #define kwVHAppWindow        (kwVisible)
  262.  
  263. #define kCustomEventClass  'CUST'
  264. #define keySFType          'KSFT'
  265. #define keyFSS             'KFSS'
  266. #define keyPascal          'PSTR'
  267. #define keyAppConnect      'KCNT'
  268. #define keyWindowTag       'KWND'
  269. #define keyWFMTMessage     'WFMT'
  270. #define keyRSRCMessage     'RSRC'
  271.  
  272. #define typeAppConnect     'KCNT'
  273. #define typeDoubleLong     'DBLL'
  274. #define typePascal         'PSTR'
  275. #define typeWFMTMessage    'WFMT'
  276. #define typeRSRCMessage    'RSRC'
  277. #define typeRSRCType       'RSTY'
  278. #define typeRSRCID         'RSID'
  279. #define typeBlockNum       'BLKN'
  280.  
  281. #define kGetWFMTMssg           0
  282. #define kSetWFMTMssg           1
  283. #define kMergeAppResourcesMssg 2
  284. #define kGetAppResourceMssg    3
  285.  
  286. #define keyReplyErr        'errn'
  287.  
  288. #define kWrongVersion    1
  289.  
  290. #define kInvalRefNum    0
  291. #define kInvalVRefNum    0
  292.  
  293. #define kSaveYes        1
  294. #define kSaveNo            3
  295. #define kSaveCanceled    4
  296.  
  297. #define kOpenYes        1
  298. #define kOpenNo            3
  299.  
  300. #define kStdAbout        1
  301.  
  302. #define kStdNew            1
  303. #define kStdOpen        2
  304. #define kStdClose        3
  305. #define kStdSave        4
  306. #define kStdSaveAs        5
  307. #define kStdPageSetup    6
  308. #define kStdPrint        7
  309. #define kStdQuit        8
  310.  
  311. #define kStdUndo        1
  312. #define kStdRedo        2
  313. #define kStdCut            3
  314. #define kStdCopy        4
  315. #define kStdPaste        5
  316. #define kStdClear        6
  317. #define kStdViewHier    7
  318.  
  319. #define kOpenMovie ((FSSpecPtr)-1)
  320.  
  321. /********/
  322. /********/
  323. /********/
  324.  
  325. #define kViewHierFileType 'VWHR'
  326.  
  327. #define rTECtl            4000
  328. #define rListCtl        4016
  329. #define rCIconCtl        4032
  330. #define rPICTCtl        4048
  331. #define rStatTextCtl    4064
  332. #define rICONCtl        4080
  333. #define rDataCtl        4096
  334.  
  335. #define    rMenuBar    128                /* application's menu bar */
  336.  
  337. #define    rWindow        128                /* application's primary document window */
  338. #define    rVHWindow    129                /* view hierarchy window */
  339.  
  340. #define    rAboutAlert        128
  341. #define    rErrorAlert        129
  342. #define rYesNoCancel    130
  343. #define rOpenReadOnly    131
  344. #define rPrStatusDlg    132
  345.  
  346. #define    mApple    128
  347. #define    iAbout    1
  348.  
  349. #define kSave   0
  350. #define kSaveAs 1
  351. #define kClose  2
  352. #define kQuit   3
  353.  
  354. #define rNewViewCtl        128
  355.  
  356. #define rBadNewsStrings        257            /* Not-good-at-all startup error messages. */
  357. #define sWimpyMachine        1            /* Strings to display in the user item */
  358. #define sHeapTooSmall        2
  359. #define sNoFreeRoomInHeap    3
  360. #define sBadThingHappened    4
  361.  
  362. #define rFileIOStrings    258                /* Strings for StandardFile dialogs. */
  363. #define sSFprompt 1
  364. #define sWClosing 2
  365. #define sQuitting 3
  366.  
  367. #define rDefaultTitles    259
  368.  
  369. #define rPPCText    260
  370. #define sTitleText  1
  371. #define sAppText    2
  372.  
  373.  
  374. #endif
  375.